﻿using DBVisitor.Core;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DBVisitor.DBProvider
{
    public class MysqlAccessProvider : DBAccessProvider<MySqlConnection>
    {
        public MysqlAccessProvider(MySqlConnection db) : base(db)
        {
        }
        public override IDBFieldAccessor DBFieldAccessor => throw new NotImplementedException();

        public override bool AlterTableStruct(Table tableFrom, Table tableTo)
        {
            throw new NotImplementedException();
        }

        public override string[] QueryAllTable()
        {
            throw new NotImplementedException();
        }

        public override bool QueryTable(string tableName, out Table table)
        {
            throw new NotImplementedException();
        }

        public override bool CreateTable(Table table)
        {
            throw new NotImplementedException();
        }
        public override bool DropTable(string table)
        {
            throw new NotImplementedException();
        }

        public override int DeleteRow<RowType>(IWhere<RowType> where)
        {
            throw new NotImplementedException();
        }

        public override bool EnsureTableStruct(Table table)
        {
            throw new NotImplementedException();
        }

        public override int InsertRow(Table table, params Value[] values)
        {
            throw new NotImplementedException();
        }

        public override int UpdateRow<RowType>(IWhere<RowType> where, params Value[] updates)
        {
            throw new NotImplementedException();
        }

        public override WhereTermiNode<RowType> NewInitialWhere<RowType>(Table table)
        {
            throw new NotImplementedException();
        }

        public override bool RenameTable(string tableFrom, string tableTo)
        {
            throw new NotImplementedException();
        }

        public override QueryReader SelectAll<RowType>(IWhere<RowType> where)
        {
            throw new NotImplementedException();
        }

        public override QueryReader SelectAverage<RowType>(IWhere<RowType> where, Column column)
        {
            throw new NotImplementedException();
        }

        public override QueryReader SelectMax<RowType>(IWhere<RowType> where, Column column)
        {
            throw new NotImplementedException();
        }

        public override QueryReader SelectMin<RowType>(IWhere<RowType> where, Column column)
        {
            throw new NotImplementedException();
        }

        public override QueryReader SelectSum<RowType>(IWhere<RowType> where, Column column)
        {
            throw new NotImplementedException();
        }
    }
}
